home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / ssymv.z / ssymv
Encoding:
Text File  |  2002-10-03  |  19.5 KB  |  331 lines

  1.  
  2.  
  3.  
  4. SSSSSSSSYYYYMMMMVVVV((((3333SSSS))))                                                            SSSSSSSSYYYYMMMMVVVV((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SSSSSSSSYYYYMMMMVVVV, DDDDSSSSYYYYMMMMVVVV, CCCCSSSSYYYYMMMMVVVV, ZZZZSSSSYYYYMMMMVVVV - Multiplies a real or complex vector by a
  10.      real or complex symmetric matrix
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      Single precision
  14.  
  15.           Fortran:
  16.                CCCCAAAALLLLLLLL SSSSSSSSYYYYMMMMVVVV ((((_u_p_l_o,,,, _n,,,, _a_l_p_h_a,,,, _a,,,, _l_d_a,,,, _x,,,, _i_n_c_x,,,, _b_e_t_a,,,, _y,,,, _i_n_c_y))))
  17.  
  18.           C/C++:
  19.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  20.                vvvvooooiiiidddd ssssssssyyyymmmmvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, iiiinnnntttt _n,,,, ffffllllooooaaaatttt _a_l_p_h_a,,,, ffffllllooooaaaatttt *_a,,,, iiiinnnntttt _l_d_a,,,,
  21.                ffffllllooooaaaatttt *_x,,,, iiiinnnntttt _x,,,, ffffllllooooaaaatttt _b_e_t_a,,,, ffffllllooooaaaatttt *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  22.  
  23.      Double precision
  24.  
  25.           Fortran:
  26.                CCCCAAAALLLLLLLL DDDDSSSSYYYYMMMMVVVV ((((_u_p_l_o,,,, _n,,,, _a_l_p_h_a,,,, _a,,,, _l_d_a,,,, _x,,,, _i_n_c_x,,,, _b_e_t_a,,,, _y,,,, _i_n_c_y))))
  27.  
  28.           C/C++:
  29.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  30.                vvvvooooiiiidddd ddddssssyyyymmmmvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, iiiinnnntttt _n,,,, ddddoooouuuubbbblllleeee _a_l_p_h_a,,,, ddddoooouuuubbbblllleeee *_a,,,, iiiinnnntttt
  31.                _l_d_a,,,, ddddoooouuuubbbblllleeee *_x,,,, iiiinnnntttt _x,,,, ddddoooouuuubbbblllleeee _b_e_t_a,,,, ddddoooouuuubbbblllleeee *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  32.  
  33.      Single precision complex
  34.  
  35.           Fortran:
  36.                CCCCAAAALLLLLLLL CCCCSSSSYYYYMMMMVVVV ((((_u_p_l_o,,,, _n,,,, _a_l_p_h_a,,,, _a,,,, _l_d_a,,,, _x,,,, _i_n_c_x,,,, _b_e_t_a,,,, _y,,,, _i_n_c_y))))
  37.  
  38.           C/C++:
  39.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  40.                vvvvooooiiiidddd ccccssssyyyymmmmvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, iiiinnnntttt _n,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_a_l_p_h_a,,,,
  41.                ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_a,,,, iiiinnnntttt _l_d_a,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _x,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx
  42.                *_b_e_t_a,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  43.  
  44.           C++ STL:
  45.                ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>>
  46.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  47.                vvvvooooiiiidddd ccccssssyyyymmmmvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_a_l_p_h_a,,,,
  48.                ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_a,,,, iiiinnnntttt _l_d_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_x,,,, iiiinnnntttt _x,,,,
  49.                ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_b_e_t_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  50.  
  51.      Double precision complex
  52.  
  53.           Fortran:
  54.                CCCCAAAALLLLLLLL ZZZZSSSSYYYYMMMMVVVV ((((_u_p_l_o,,,, _n,,,, _a_l_p_h_a,,,, _a,,,, _l_d_a,,,, _x,,,, _i_n_c_x,,,, _b_e_t_a,,,, _y,,,, _i_n_c_y))))
  55.  
  56.           C/C++:
  57.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  58.                vvvvooooiiiidddd zzzzssssyyyymmmmvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, iiiinnnntttt _n,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_a_l_p_h_a,,,,
  59.                ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_a,,,, iiiinnnntttt _l_d_a,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _x,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSSSSSYYYYMMMMVVVV((((3333SSSS))))                                                            SSSSSSSSYYYYMMMMVVVV((((3333SSSS))))
  71.  
  72.  
  73.  
  74.                *_b_e_t_a,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  75.  
  76.           C++ STL:
  77.                ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>>
  78.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  79.                vvvvooooiiiidddd zzzzssssyyyymmmmvvvv ((((cccchhhhaaaarrrr *_u_p_l_o,,,, iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_a_l_p_h_a,,,,
  80.                ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_a,,,, iiiinnnntttt _l_d_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_x,,,, iiiinnnntttt _x,,,,
  81.                ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_b_e_t_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  82.  
  83. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  84.      These routines are part of the SCSL Scientific Library and can be loaded
  85.      using either the ----llllssssccccssss or the ----llllssssccccssss____mmmmpppp option.  The ----llllssssccccssss____mmmmpppp option
  86.      directs the linker to use the multi-processor version of the library.
  87.  
  88.      When linking to SCSL with ----llllssssccccssss or ----llllssssccccssss____mmmmpppp, the default integer size is
  89.      4 bytes (32 bits). Another version of SCSL is available in which integers
  90.      are 8 bytes (64 bits).  This version allows the user access to larger
  91.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  92.      by using the ----llllssssccccssss____iiii8888 option or the ----llllssssccccssss____iiii8888____mmmmpppp option. A program may use
  93.      only one of the two versions; 4-byte integer and 8-byte integer library
  94.      calls cannot be mixed.
  95.  
  96.      The C and C++ prototypes shown above are appropriate for the 4-byte
  97.      integer version of SCSL. When using the 8-byte integer version, the
  98.      variables of type iiiinnnntttt become lllloooonnnngggg lllloooonnnngggg and the <<<<ssssccccssssllll____bbbbllllaaaassss____iiii8888....hhhh>>>> header
  99.      file should be included.
  100.  
  101. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  102.      SSSSSSSSYYYYMMMMVVVV and DDDDSSSSYYYYMMMMVVVV multiplies a real vector by a real symmetric matrix.
  103.  
  104.      CCCCSSSSYYYYMMMMVVVV and ZZZZSSSSYYYYMMMMVVVV multiplies a complex vector by a complex symmetric
  105.      matrix.
  106.  
  107.      These routines perform the following matrix-vector operation:
  108.  
  109.           _y <- _a_l_p_h_a _A_x + _b_e_t_a _y
  110.  
  111.      where _a_l_p_h_a and _b_e_t_a are scalars, _x and _y are _n-element vectors, and _A is
  112.      an _n-by-_n symmetric matrix.
  113.  
  114.      See the NOTES section of this man page for information about the
  115.      interpretation of the data types described in the following arguments.
  116.  
  117.      These routines have the following arguments:
  118.  
  119.      _u_p_l_o      Character.  (input)
  120.                Specifies whether the upper or lower triangular part of matrix
  121.                _A is being supplied, as follows:
  122.  
  123.                _u_p_l_o= 'U' or 'u':  only the upper triangular part of _A is being
  124.                supplied.
  125.                _u_p_l_o= 'L' or 'l':  only the lower triangular part of _A is being
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. SSSSSSSSYYYYMMMMVVVV((((3333SSSS))))                                                            SSSSSSSSYYYYMMMMVVVV((((3333SSSS))))
  137.  
  138.  
  139.  
  140.                supplied.
  141.  
  142.                For C/C++, a pointer to this character is passed.
  143.  
  144.      _n         Integer.  (input)
  145.                Specifies the order of matrix _A.  _n >= 0.
  146.  
  147.      _a_l_p_h_a     Scalar alpha.  (input)
  148.                SSSSSSSSYYYYMMMMVVVV: Single precision.
  149.                DDDDSSSSYYYYMMMMVVVV: Double precision.
  150.                CCCCSSSSYYYYMMMMVVVV: Single precision complex.
  151.                ZZZZSSSSYYYYMMMMVVVV: Double precision complex.
  152.  
  153.                For C/C++, a pointer to this scalar is passed when alpha is
  154.                complex; otherwise, alpha is passed by value.
  155.  
  156.      _a         Array of dimension (_l_d_a,_n).  (input)
  157.                SSSSSSSSYYYYMMMMVVVV: Single precision array.
  158.                DDDDSSSSYYYYMMMMVVVV: Double precision array.
  159.                CCCCSSSSYYYYMMMMVVVV: Single precision complex array.
  160.                ZZZZSSSSYYYYMMMMVVVV: Double precision complex array.
  161.  
  162.                Before entry with _u_p_l_o = 'U' or 'u', the leading _n-by-_n upper
  163.                triangular part of array _a must contain the upper triangular
  164.                part of the symmetric matrix.  The strictly lower triangular
  165.                part of _a is not referenced.
  166.  
  167.                Before entry with _u_p_l_o = 'L' or 'l', the leading _n-by-_n lower
  168.                triangular part of array _a must contain the lower triangular
  169.                part of the symmetric matrix.  The strictly upper triangular
  170.                part of _a is not referenced.
  171.  
  172.      _l_d_a       Integer.  (input)
  173.                Specifies the first dimension of _a as declared in the calling
  174.                program.  _l_d_a >= MMMMAAAAXXXX(1,_n).
  175.  
  176.      _x         Array of dimension 1+(_n-1) * |_i_n_c_x|.  (input)
  177.                SSSSSSSSYYYYMMMMVVVV: Single precision array.
  178.                DDDDSSSSYYYYMMMMVVVV: Double precision array.
  179.                CCCCSSSSYYYYMMMMVVVV: Single precision complex array.
  180.                ZZZZSSSSYYYYMMMMVVVV: Double precision complex array.
  181.                Contains the vector _x.
  182.  
  183.      _i_n_c_x      Integer.  (input)
  184.                Specifies the increment for the elements of _x.  _i_n_c_x must not
  185.                be 0.
  186.  
  187.      _b_e_t_a      Scalar beta.  (input)
  188.                If _b_e_t_a is supplied as 0, _y need not be set on input.
  189.                SSSSSSSSYYYYMMMMVVVV: Single precision.
  190.                DDDDSSSSYYYYMMMMVVVV: Double precision.
  191.                CCCCSSSSYYYYMMMMVVVV: Single precision complex.
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. SSSSSSSSYYYYMMMMVVVV((((3333SSSS))))                                                            SSSSSSSSYYYYMMMMVVVV((((3333SSSS))))
  203.  
  204.  
  205.  
  206.                ZZZZSSSSYYYYMMMMVVVV: Double precision complex.
  207.  
  208.                For C/C++, a pointer to this scalar is passed when beta is
  209.                complex; otherwise, beta is passed by value.
  210.  
  211.      _y         Array of dimension 1+(_n-1) * |_i_n_c_y|.  (input and output)
  212.                SSSSSSSSYYYYMMMMVVVV: Single precision array.
  213.                DDDDSSSSYYYYMMMMVVVV: Double precision array.
  214.                CCCCSSSSYYYYMMMMVVVV: Single precision complex array.
  215.                ZZZZSSSSYYYYMMMMVVVV: Double precision complex array.
  216.                Contains the vector _y.  On exit, the updated vector overwrites
  217.                array _y.
  218.  
  219.      _i_n_c_y      Integer.  (input)
  220.                Specifies the increment for the elements of _y.  _i_n_c_y must not
  221.                be 0.
  222.  
  223. NNNNOOOOTTTTEEEESSSS
  224.      SSSSSSSSYYYYMMMMVVVV/DDDDSSSSYYYYMMMMVVVV is a Level 2 Basic Linear Algebra Subprogram (Level 2 BLAS).
  225.      CCCCSSSSYYYYMMMMVVVV/ZZZZSSSSYYYYMMMMVVVV is an extension to Level 2 BLAS.
  226.  
  227.      When working backward (_i_n_c_x < 0 or _i_n_c_y < 0), each routine starts at the
  228.      end of the vector and moves backward, as follows:
  229.  
  230.           _x(1-_i_n_c_x * (_n-1)), _x(1-_i_n_c_x * (_n-2)) , ..., _x(1)
  231.  
  232.           _y(1-_i_n_c_y * (_n-1)), _y(1-_i_n_c_y * (_n-2)) , ..., _y(1)
  233.  
  234.  
  235.    DDDDaaaattttaaaa TTTTyyyyppppeeeessss
  236.      The following data types are described in this documentation:
  237.  
  238.      TTTTeeeerrrrmmmm UUUUsssseeeedddd                          DDDDaaaattttaaaa ttttyyyyppppeeee
  239.  
  240.      Fortran:
  241.  
  242.           Array dimensioned _n           xxxx((((nnnn))))
  243.  
  244.           Array of dimensions (_m,_n)     xxxx((((mmmm,,,,nnnn))))
  245.  
  246.           Integer                       IIIINNNNTTTTEEEEGGGGEEEERRRR (IIIINNNNTTTTEEEEGGGGEEEERRRR****8888 for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  247.  
  248.           Single precision              RRRREEEEAAAALLLL
  249.  
  250.           Double precision              DDDDOOOOUUUUBBBBLLLLEEEE PPPPRRRREEEECCCCIIIISSSSIIIIOOOONNNN
  251.  
  252.           Single precision complex      CCCCOOOOMMMMPPPPLLLLEEEEXXXX
  253.  
  254.           Double precision complex      DDDDOOOOUUUUBBBBLLLLEEEE CCCCOOOOMMMMPPPPLLLLEEEEXXXX
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. SSSSSSSSYYYYMMMMVVVV((((3333SSSS))))                                                            SSSSSSSSYYYYMMMMVVVV((((3333SSSS))))
  269.  
  270.  
  271.  
  272.      C/C++:
  273.  
  274.           Array dimensioned _n           xxxx[[[[_n]]]]
  275.  
  276.           Array of dimensions (_m,_n)     xxxx[[[[mmmm****nnnn]]]]
  277.  
  278.           Integer                       iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  279.  
  280.           Single precision              ffffllllooooaaaatttt
  281.  
  282.           Double precision              ddddoooouuuubbbblllleeee
  283.  
  284.           Single precision complex      ssssccccssssllll____ccccoooommmmpppplllleeeexxxx
  285.  
  286.           Double precision complex      ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx
  287.  
  288.      C++ STL:
  289.  
  290.           Array dimensioned _n           xxxx[[[[_n]]]]
  291.  
  292.           Array of dimensions (_m,_n)     xxxx[[[[mmmm****nnnn]]]]
  293.  
  294.           Integer                       iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  295.  
  296.           Single precision              ffffllllooooaaaatttt
  297.  
  298.           Double precision              ddddoooouuuubbbblllleeee
  299.  
  300.           Single precision complex      ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>>
  301.  
  302.           Double precision complex      ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>>
  303.  
  304.      Note that you can explicitly declare multidimensional C/C++ arrays
  305.      provided that the array dimensions are swapped with respect to the
  306.      Fortran declaration (e.g., xxxx[[[[nnnn]]]][[[[mmmm]]]] in C/C++ versus xxxx((((mmmm,,,,nnnn)))) in Fortran).
  307.      To avoid a compiler type mismatch error in C++ (or a compiler warning
  308.      message in C), however, the array should be cast to a pointer of the
  309.      appropriate type when passed as an argument to a SCSL routine.
  310.  
  311. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  312.      IIIINNNNTTTTRRRROOOO____SSSSCCCCSSSSLLLL(3S), IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS2222(3S), CCCCHHHHEEEEMMMMVVVV(3S)
  313.  
  314.      IIIINNNNTTTTRRRROOOO____CCCCBBBBLLLLAAAASSSS(3S) for information about using the C interface to Fortran 77
  315.      Basic Linear Algebra Subprograms (legacy BLAS) set forth by the Basic
  316.      Linear Algebra Subprograms Technical Forum.
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.                                                                         PPPPaaaaggggeeee 5555
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.